<template>
    <div class="wrapper">
        <header>
            <i class="fa fa-angle-left" onclick="history.go(-1)"></i>
            <p>我的预约</p>
            <div></div>
        </header>
        <div class="top-ban"></div>

        <ul>
            <li v-for="(appointment,index) in appointmentList" :key="appointment.orderId">
                <div class="left">
                    <p>{{ appointment.orderDate}}</p>
                    <p>{{ appointment.setmealName }}</p>
                </div>
                <div class="right" @click="toAppointmentCancel(appointment.orderId)" v-show="appointment.state ===1">
                    取消预约
                </div>
            </li>
        </ul>

        <div class="bottom-ban"></div>
        <Footer></Footer>
    </div>
</template>

<script>
import Footer from '@/components/Footer.vue';
import { ref,reactive, toRefs, onMounted } from "vue";
import { useRoute,useRouter } from "vue-router";
import { setSessionStorage,getSessionStorage } from "../common.js";
import axios from "axios";
import router from '@/router';
axios.defaults.baseURL = "http://localhost:8080/tijian/";


export default {

    setup(){

        const routet=useRouter()

        const appointmentList=reactive([
            {
                orderId:'',
                setmealName: '',
                orderDate: '',
                state: ''
            }
        ])

        function getData(){
            axios.get('/orders/person',{
                params:{
                    userId: getSessionStorage('users').userId
                }
            }).then((response)=>{

                console.log(response.data)
                let data=response.data
                appointmentList.splice(0,appointmentList.length,...data.data)
            })
        }

        function toAppointmentCancel(orderId){

            axios.get('/orders/cancel',{
                params:{
                    orderId:orderId
                }
            }).then((response)=>{
                if(response.data.code==0){
                    console.log(response)
                    router.push('/appointmentCancel')
                }
                
            }).then((error)=>{
                console.log(error)
            })

            getData()

            
        }

        onMounted(()=>{
            getData()
        })

        return{
            appointmentList,
            onMounted,
            toAppointmentCancel,
            getData
        }
    },
    components:{
        Footer
    }

    

}
</script>

<style scoped>
/*********************** 总容器 ***********************/
.wrapper {
    width: 100%;
    height: 100%;
    background-color: #F9F9F9;
}

/*********************** header ***********************/
header {
    width: 100%;
    height: 15.7vw;
    background-color: #FFF;

    position: fixed;
    left: 0;
    top: 0;

    display: flex;
    align-items: center;
    justify-content: space-between;

    box-sizing: border-box;
    padding: 0 3.6vw;
}

header .fa {
    font-size: 8vw;
}


/*********************** common样式 ***********************/
.top-ban {
    width: 100%;
    height: 15.7vw;
}

.bottom-ban {
    width: 100%;
    height: 14.2vw;
}

/*********************** ul ***********************/
ul {
    width: 86vw;
    margin: 0 auto;
}

ul li {
    width: 100%;
    height: 14vw;
    border-bottom: solid 1px #EEE;

    display: flex;
    justify-content: space-between;
    align-items: center;
}

ul li .left {
    user-select: none;
    cursor: pointer;
}

ul li .left p:first-child {
    color: #555;
    font-size: 3.3vw;
}

ul li .left p:last-child {
    color: #333;
    font-size: 4.2vw;
    font-weight: 600;
}

ul li .right {
    font-size: 4vw;
    color: #E6A23C;
}
</style>